'''
Don't Copy This Code, Try To Solve It By Yourself
'''
def Solve():
ss, rs = [], []
for t in range(int(input())):
ss.append(input())
rs.append(input())
for s, r in zip(ss, rs):
if "a" in s:
if r=="a":
print(1)
elif "a" in r:
print(-1)
else:
print(2**len(s))
else:
print(0)
if __name__ == "__main__":
Solve()
#include<bits/stdc++.h>
#define T int t; cin>>t; while(t--)
#define ll long long int
#define endl "\n"
#define eb emplace_back
#define ff first
#define ss second
#define M 1000000007
#define yess {cout<<"YES"<<endl;return;}
#define nos {cout<<"NO"<<endl;return;}
#define print(n) {cout<<n<<endl;return;}
#define input ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(0);
using namespace std;
void sol(){
cout<<fixed<<setprecision(25);
string s,t;cin>>s>>t;
if(t=="a")print(1)
for(int i=0;i<t.size();i++){
if(t[i]=='a')print(-1)
}
ll ans=(pow(2,s.size()));
print(ans)
/////////////////
}
int main(){
input
T sol();
}
1374C - Move Brackets | 1476A - K-divisible Sum |
1333A - Little Artem | 432D - Prefixes and Suffixes |
486A - Calculating Function | 1373B - 01 Game |
1187A - Stickers and Toys | 313B - Ilya and Queries |
579A - Raising Bacteria | 723A - The New Year Meeting Friends |
302A - Eugeny and Array | 1638B - Odd Swap Sort |
1370C - Number Game | 1206B - Make Product Equal One |
131A - cAPS lOCK | 1635A - Min Or Sum |
474A - Keyboard | 1343A - Candies |
1343C - Alternating Subsequence | 1325A - EhAb AnD gCd |
746A - Compote | 318A - Even Odds |
550B - Preparing Olympiad | 939B - Hamster Farm |
732A - Buy a Shovel | 1220C - Substring Game in the Lesson |
452A - Eevee | 1647B - Madoka and the Elegant Gift |
1408A - Circle Coloring | 766B - Mahmoud and a Triangle |